1. The Field of the Invention
The present invention relates to a message processing system. More specifically, the present invention relates to processing one or more received network messages in a manner that simplifies messaging application logic.
2. Background and Related Art
Web Services (“WS”) generally refers to a set of standards for integrating Web-based applications using the eXtensible Markup Language (“XML”), Simple Object Access Protocol (“SOAP”), Web Services Definition Language (“WSDL”), and Universal Description, Discovery and Integration (“UDDI”) standards over an Internet Protocol network. Through Web Services, entities, such as business organizations and customers, are able to communicate with each other through messages without having to expose implementation details of each entity's information systems. Among other things, this allows entities (i) to maintain appropriate security measures by keeping those implementation details secured behind a firewall, and (ii) to make changes without concern for disrupting applications that otherwise may depend on those implementation details. In particular, Web Services tag message data using XML, transfer message data using SOAP, describe what services are available using WSDL, and list available services using UDDI.
By integrating Web-based applications, Web Services share business logic, data, and processes through a well-defined interface. This sharing may occur over a network or between applications and application objects within a single computer system. In following a well-defined interface, Web Services allow applications that are developed independently to communicate with each other without having to code customized interfaces between the applications. Furthermore, by using XML to communicate data, Web Services are independent of the operating system on which they run and the programming language in which they were written. Accordingly, applications written in popular Web design languages such as Java and Perl, as well as more traditional languages such as C++, C#, Basic, etc., are able to exchange data with each other in a relatively simple and straightforward manner.
One mechanism for identifying message end-points in Web Services is known as End Point References (“EPRs”). In SOAP-based messaging, EPRs are represented by a Uniform Resource Locator (“URL”) and a collection of zero or more end-point reference properties that are promoted into SOAP headers when sending a message to a particular EPR. End-point reference properties allow a finer granularity of addressing, beyond what typically can be achieved through a URL alone.
Although some form of layered models for common message processing tasks may exist, in the past, a significant obstacle developers have faced is the need to code dispatch logic in order to route messages to the appropriate business/application logic in accordance with the messages EPRs. Because dispatch logic tends to be highly complex, dispatch logic is error prone, and therefore requires significant development and testing resources. The complex nature of dispatch logic also leads to more complicated business/application logic than would otherwise be required. In addition, a substantial amount of application design and code is common to most dispatch logic, even for diverse applications. As a result, Web Service developers often invest considerable resources producing what essentially represents the same code over and over again, which prevents the deployment of development resources to creating and improving the Web Services themselves.
Accordingly, a message system architecture that simplifies messaging application logic is desired so that development resources can be focused on adding value in the messaging applications.